package com.dx;

import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;

import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

public class QrCodeTest {
    public static void main(String[] args) {

        try {
            //二维码中的内容,随便设置
            String content = "大象哥二维码测试";
            //对二维码属性封装的一个对象
            MultiFormatWriter multiFormatWriter = new MultiFormatWriter();
            Map hints = new HashMap();
            //设置二维码的编码
            hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
            //内容,生成二维码的方式使用QR,还有其他的可以自行研究
            // 市场常用的就是这个,图片的尺寸那些,最后就是二维码的编码了, 还有一些其他的可以研究一下
            BitMatrix bitMatrix = multiFormatWriter.encode(content, BarcodeFormat.QR_CODE, 400, 400, hints);
            File file = new File("C:/Users/62601/Desktop/zssjlog/qr.jpg");
            //调用工具类把二维码生成在本地,正式项目肯定不是保存在本地
            //回通过流的方式输出给前台
            MatrixToImageWriter.writeToFile(bitMatrix, "jpg", file);

        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}
